/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package lista4_Num1_ClinicaNutricao;

import model.Paciente;
import model.ResultadoAvaliacao;

/**
 *
 * @author Kdc
 */
public class Imc extends CalculosNutricionais {

    private double imc;

    @Override
    public void calcula(Paciente p) {

        this.imc = Math.abs(p.getPeso() / (p.getAltura() * p.getAltura()));

    }

    @Override
    public void classifica(Paciente p) {

        String resultado = "INDISPONIVEL";

        if (p.getSexo() == 'M') {
            if (imc < 20.7) {
                resultado = "Abaixo do Peso";
            } else if (imc >= 20.7 && imc < 26.4) {
                resultado = "No Peso Normal";
            } else if (imc >= 26.4 && imc < 27.8) {
                resultado = "Marginalmente Acima do Peso";
            } else if (imc >= 27.8 && imc < 31.1) {
                resultado = "Acima do Peso Ideal";
            } else if (imc >= 31.1) {
                resultado = "Obeso";
            }
        } else {
            if (imc < 19.1) {
                resultado = "Abaixo do Peso";
            } else if (imc >= 19.1 && imc < 25.8) {
                resultado = "No Peso Normal";
            } else if (imc >= 25.8 && imc < 27.3) {
                resultado = "Marginalmente Acima do Peso";
            } else if (imc >= 27.3 && imc < 32.3) {
                resultado = "Acima do Peso Ideal";
            } else if (imc >= 32.3) {
                resultado = "Obeso";
            }
        }

        p.addResultado(new ResultadoAvaliacao(imc, resultado, "IMC"));
    }

}
